﻿using System.Xml.Serialization;
using System.Collections.Generic;

using Qas.CommonLogic.BusinessObjects.Probability;

namespace Qas.CommonLogic.BusinessObjects
{
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Task
    {
        private string descriptionField;

        private Condition[] startConditionsField;
        private Condition[] finishConditionsField;
        
        
        private Pair[] costField;
        private Pair[] timeField;
        private Competence[] reqCompetences;        

        /// <summary>
        /// Развёрнутое текстовое описание задачи
        /// </summary>
        public string description
        {
            get
            {
                return this.descriptionField;
            }
            set
            {
                this.descriptionField = value;
            }
        }

        [System.Xml.Serialization.XmlArrayItemAttribute("Condition", IsNullable = false)]
        public Condition[] startConditions
        {
            get
            {
                return this.startConditionsField;
            }
            set
            {
                this.startConditionsField = value;
            }
        }

        [System.Xml.Serialization.XmlArrayItemAttribute("Condition", IsNullable = false)]
        public Condition[] finishConditions
        {
            get
            {
                return this.finishConditionsField;
            }
            set
            {
                this.finishConditionsField = value;
            }
        }

        [System.Xml.Serialization.XmlArrayItemAttribute("Pair", IsNullable = false)]
        public Pair[] Time
        {
            get
            {
                return this.timeField;
            }
            set
            {
                this.timeField = value;
            }
        }


        [System.Xml.Serialization.XmlArrayItemAttribute("Pair", IsNullable = false)]
        public Pair[] Cost
        {
            get
            {
                return this.costField;
            }
            set
            {
                this.costField = value;
            }
        }

        [System.Xml.Serialization.XmlArrayItemAttribute("Competence", IsNullable = true)]
        public Competence[] ReqCompetences
        {
            get
            {
                return this.reqCompetences;
            }
            set
            {
                this.reqCompetences = value;
            }
        }        
    }
}
